#ifndef TESTDRIVER_H
#define TESTDRIVER_H
#include "includes.h"
#include "assert.h"
#include "rendermanager.h"
#include "EqnParser.h"
#include "brushtoolatd.h"
#include "selectiontoolatd.h"
#include "magicbrushatd.h"
#include "time.h"
#include "FileIO.h"
#include <float.h>
#include <sstream>

#define TEST(NUM,EXP) if(!(EXP))printf("STD TEST CASE " #NUM " :  " #EXP "   fail \n");else printf("STD TEST" #NUM "Succeed\n");

class TestDriver
{
    RenderManager* rend;
public:
    TestDriver(RenderManager* r);
    static float Test1(float x, float z);
    static void resTest(int i, bool b, Result r);
    void makeTestWorld(float (*func)(float x, float z));
    void testBrush();
    void testSelect();
    void testMagicWand();
    void testBrushMouse(float x, float y);
    void testEqnParser();
    void runStdTests();
};

#endif // TESTDRIVER_H
